//#define _CRT_SECURE_NO_WARNINGS 1
//
//#include<stdio.h>
//
//int* findErrorNums(int* nums, int numsSize, int* returnSize)
//{
//    int* arr = (int*)malloc(sizeof(int) * 2);
//    if (arr == NULL)
//    {
//        perror("malloc");
//        return NULL;
//    }
//
//    int i = 1;
//    for (i = 1; i <= numsSize; i++)
//    {
//        if (nums[i-1] != i)
//        {
//            arr[0] = nums[i-1];
//            arr[1] = i;
//
//        }
//    }
//
//    returnSize = arr;
//    return returnSize;
//
//}
//int main()
//{
//    int arr[] = { 1,2,2,4 };
//    int* returnSize = NULL;
//    findErrorNums(arr, 4, returnSize); 
//}
//
int cmp(const void* p1, const void* p2)
{
    return (*(int*)p1 - *(int*)p2);
}
int* findErrorNums(int* nums, int numsSize, int* returnSize)
{
    *returnSize = 2;
    int* arr = (int*)malloc(sizeof(int) * 2);
    if (arr == NULL)
    {
        perror("malloc");
        return NULL;
    }

    int i = 0;
    int num = nums[0];
    qsort(nums, numsSize, 4, cmp);
    for (i = 0; i <= numsSize; i++)
    {
        if (nums[i] != num)
        {
            arr[0] = nums[i];
            arr[1] = num;
            break;

        }
        num++;
    }
    return arr;

}